
/*
* ECMAScript 2015
* ECMAScript 2016
* ECMAScript 2017
* ECMAScript 2020
* ECMAScript 2021
* */


/*
function sayHi() {
  var msg = 'hello ES6'
  // alert(msg)
  console.log(msg)
}
sayHi()
console.log(msg)
*/

/*
if (1) {
  // var msg = 'hello ES6'
  let msg = 'hello ES6'
  console.log(msg)
}
console.log(msg)
*/

/*
var 没有块级的作用域
var 会在函数开头就会被处理(声明会提升、赋值不会) -> 变量提升

重复声明

var VS let
let VS const


let
const
function
var

class
import
*/

/*
const PI = Math.PI

PI = 3.1415

console.info(PI)
*/

// 内存地址

// 拷贝对象 | 拷贝数组
const obj = {
  name: 'zhangsan',
  age: 18
}

obj.age = 22

console.log(obj)

const obj2 = obj

obj2.name = '李四'

console.log(obj2.name)
console.log(obj.name)

/*
console.log({} === {})
console.log([] === [])
console.log('=================')
console.log(2 === 2)
console.log('123' === '123')
*/

/*
let str = 'hello'

console.log(str[0])
console.log(str[0] === 123)
console.log(str)
*/


/*
let i
for (i = 0; i < 10; i++) {
  // console.log(i)
}
console.log(i)
*/

// var x = 10
// var x = 'hello'

// let x = 10
// let x = 'hello'
// console.log(x)

/*for (var i = 0; i < 10; i++) {
  // console.log(i)
}


console.log(i)

for (var i = 0; i < 20; i++) {
  // console.log(i)
}
console.log(i)*/


/*
function sayHi() {

  console.log(msg)
  // let msg
  if (false) {
    var msg = 'Hello ES6'
  }
}
sayHi()


function sayHi() {
  msg = 'Hello ES6'
  console.log(msg)
  // let msg
  if (false) {
    var msg
  }
}
sayHi()
*/






// require('jquery')
/*const $ = jQuery = require('jquery')

console.log($)
jQuery('body').css({
  backgroundColor: 'red'
})*/

// new Date()
// new Promise()
// document.body.style.background = 'red'

